package org.example.singletonPattern;

/**
 * 枚举实现单例（推荐）
 * 优点：线程安全，防止反射攻击，防止反序列化重新创建对象
 * 缺点：不能延迟加载
 *
 * ✅ 需绝对防止反射/序列化破坏的单例（如安全认证模块）
 * ✅ 全局状态管理器（如应用上下文、服务注册表）
 * ✅ 简洁性优先的场景（代码量最少）
 * ⛔ 不支持懒加载（枚举类加载即初始化
 *
 */
public enum EnumSingleton {
    // 单例实例
    INSTANCE;

    // 私有构造方法（默认private）
    EnumSingleton() {
        System.out.println("枚举单例实例被创建");
    }

    // 业务方法
    public void showMessage() {
        System.out.println("这是枚举单例的方法调用");
    }

    // 业务方法
    public void registerService(String name) {
        System.out.println("注册服务：" + name);
    }

    // 其他业务方法...
}